Modern communication networks typically support three classes of traffic: unicast, broadcast, and multicast. Traffic that is sourced from a single device on the network and destined for a single device on the network is typically referred to in the art as unicast. Traffic that is sourced from a single device on the network and destined for all devices on the network is typically referred to in the art as broadcast. Traffic that is sourced from a single device on the network and destined for a subset of devices on the network is typically referred to as multicast traffic. Multicast traffic for a given program, e.g. a high definition television (“HDTV”) program, may include multiple traffic streams related to the HDTV program
For network operators, such as, for example, community antenna television (“CATV”) operators, also referred to as multiple systems operators (“MSO”), multicast traffic delivery offers two primary benefits, among other, over unicast or broadcast traffic delivery. First, multicast delivery reduces the total network bandwidth required to deliver a given stream of data to a given number of devices. Second, multicast reception of a given stream may be restricted to only those requesting devices that are interested and/or authorized. When a stream of data is delivered to a subset of the given number of devices via unicast, a copy of the stream is transmitted over the communication network for each device in the receiving subset. With n devices in the receiving subset, the bandwidth required is n times that of the stream itself. On the other hand, if a stream of data is delivered to a subset of devices via broadcast, then all devices in the network would receive and process the stream. Subscription-based content that is delivered in real time (e.g., audio or video) is a prime candidate for multicast transmission.
The subset of devices on a network that are simultaneously receiving a given multicast stream is referred to as a multicast group. Those skilled in the art may also apply the terra multicast group to a multicast stream itself. In other words, a multicast group may be a specific stream of multicast data received by a specific subset of devices on a communication network. For example, two real-time videos transmitted via multicast represent two multicast groups since each video could potentially have a different subset of devices receiving it.
When a device elects to receive a given multicast group, it sends a multicast management protocol message (e.g., IGMP) into the network identifying the group it seeks to join. This message is typically referred to as a JOIN message. Control devices in the network such as routers or CMTSs receive this JOIN message and ensure that multicast group of interest is routed to the requesting device.
Most devices on a network support a single interface to the network. However with the advent of channel bonding technologies deployed in systems that, for example, use the Data Over Cable Service Interface Specification (“DOCSIS”) version 3.0, newer high-speed network devices at a customer's premises, sometimes referred to as customer premise equipment (“CPE”), may have multiple interfaces (i.e. tuner circuitry) to the communication network, such as, for example, a hybrid fiber coaxial (“HFC”) network. A single CPE device at a home or office location may provide connectivity to the HFC for multiple user devices, such as, for example, a personal computer (“PC”), a set top box for delivering video and other programming, or another such device that transmits and receives data and information to and from an HFC, or other network. It will be appreciated that channel bonding may also be used in other technologies such as, for example, digital subscriber line, other broadband communication networks and Ethernet.
CPE devices designed for channel bonding can support higher bandwidths than traditional single-interface devices since data streams may be received over multiple channels through multiple interfaces. In a network environment with multiple CPE devices, each having multiple shared-media interfaces/channels, there are potentially many viable routing possibilities for a given multicast group. That is, there are many paths within the network, for example, an HFC network, that a given multicast group can take from a central device, such as, for example, a web server or a video-on-demand (VOD) server to reach a given device or set of CPE devices, such as, for example, cable modems (“CM”).
FIG. 1 illustrate n devices 2 (Device 0, Device 1, . . . , Device n) that are served by four shared-media channels 4 (C0, C1, C2, and C3). In the example, all the CPE devices 2 belong to multicast traffic group A (i.e., are receiving multicast group A traffic), but Device 0 receives the multicast group traffic via C0, Device 1 receives the group via C1, and Device n receives the group via C3. Thus, since all CPEs 2 can access any of the channels C0-C3, there are two extraneous transmissions of multicast group A. The result of the extra channel use is that bandwidth used over HFC channels 4 to deliver the multicast group traffic flow from router 6, which may also be a cable modem termination system (“CMTS”), is three times greater than needed. Generally, a network supporting devices with multiple shared-media interfaces, for example, a DOCSIS 3.0 downstream channel bonding network, or a multi-interface Ethernet network device, may waste an appreciable amount of bandwidth due to redundant copies of the same multicast group being carried over multiple channels. Association table 8 illustrates that multicast group A traffic is associated with all the channels C0-C3 that CPE devices 2 are receiving.
Bandwidth requirements for multicast traffic may be reduced if the number of redundant copies of a given multicast group can be minimized. As shown in FIG. 2, n devices 2 are served by the same four shared-media channels (C0, C1, C2, and C3) as in FIG. 1. All devices belong to multicast group A, and all devices receive the group via C1. However, there are no transmissions of group A over other channels. Consequently, no additional bandwidth required beyond what is used to carry one copy of group A is used. Thus, bandwidth over HFC channels 4 is used more efficiently, as the channels that would otherwise be carrying duplicates of group A can now be used to carry other information traffic, such as data, to another user device coupled to one of CPE devices 2. Association table 8 in FIG. 2 shows that multicast group A traffic is now only associated with channel C1, whereas in FIG. 1, the association table showed that group A was associated with all channels C0-C3.
Although reducing, or eliminating, the number of channels that carry a desired, or given, multicast group is desirable, efficient use of bandwidth achieved by using only one of the multiple channels that serve CPEs 2 typically is only achieved by random occurrence. Thus, there is a need in the art for a method and system for automatically detecting when multiple channels that are currently tuned and accessible by interfaces/tuner circuits of multi-interface CPE devices are receiving the same multi cast group over more than one channel. Furthermore, there is a need in the art for a method and system for efficiently eliminating replication of a multicast group over multiple channels that are tuned by interface circuitry of multi-interface CPE devices.